home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
- #pragma prefix "omg.org"
-
- module CosNaming {
- typedef string Istring;
- struct NameComponent {
- Istring id;
- Istring kind;
- };
-
- typedef sequence<NameComponent> Name;
-
- enum BindingType {
- nobject,
- ncontext
- };
-
- struct Binding {
- Name binding_name;
- BindingType binding_type;
- };
-
- typedef sequence<Binding> BindingList;
-
- interface BindingIterator;
-
- interface NamingContext {
- enum NotFoundReason {
- missing_node,
- not_context,
- not_object
- };
-
- exception NotFound {
- NotFoundReason why;
- Name rest_of_name;
- };
-
- exception CannotProceed {
- NamingContext ctx;
- Name rest_of_name;
- };
-
- exception InvalidName{};
- exception AlreadyBound{};
- exception NotEmpty{};
-
- void bind(in Name n, in Object obj)
- raises(NotFound, CannotProceed, InvalidName, AlreadyBound);
- void rebind(in Name n, in Object obj)
- raises(NotFound, CannotProceed, InvalidName);
- void bind_context(in Name n, in NamingContext nc)
- raises(NotFound, CannotProceed, InvalidName, AlreadyBound);
- void rebind_context(in Name n, in NamingContext nc)
- raises(NotFound, CannotProceed, InvalidName);
- Object resolve(in Name n)
- raises(NotFound, CannotProceed, InvalidName);
- void unbind(in Name n)
- raises(NotFound, CannotProceed, InvalidName);
- NamingContext new_context();
- NamingContext bind_new_context(in Name n)
- raises(NotFound, AlreadyBound, CannotProceed, InvalidName);
- void destroy()
- raises(NotEmpty);
- void list(in unsigned long how_many, out BindingList bl, out BindingIterator bi);
- };
-
- interface BindingIterator {
- boolean next_one(out Binding b);
- boolean next_n(in unsigned long how_many, out BindingList bl);
- void destroy();
- };
- };
-